package com.sikaryofficial.qrcode.domain.mongo;

import com.anwen.mongo.annotation.ID;
import com.anwen.mongo.annotation.collection.CollectionName;
import com.anwen.mongo.enums.IdTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 二维码扫码详情记录
 *
 * @author qinjinyuan
 * @date 2024-02-06
 */

@CollectionName(value = "qr_user_detail_t")
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors(chain = true)
public class QrUserDetailMongo {
    /**
     * 用户扫码详情ID
     */
    @ID(type = IdTypeEnum.ASSIGN_ID)
    private Long qrUserDetailId;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 创建时间
     */
    private Date createdTime;
    /**
     * 请求IP
     */
    private String ip;
    /**
     * 城市
     */
    private String city;
    /**
     * 2位编码
     */
    private String countryCode;
    /**
     * 国家名称
     */
    private String countryName;
    /**
     * 区域
     */
    private String area;
    /**
     * 浏览器 userAgent
     */
    private String userAgent;
    /**
     * 品牌口味ID
     */
    private Long brandTasteId;
    /**
     * 防伪码
     * 扫码url参数（产品MD5+ seqno + 4位随机编码）
     */
    private String param;

    /**
     * 删除版本：默认为0；删除则赋值当前记录主键ID
     */
    private Long deletedVersion;

    /**
     * 品牌口味短ID
     */
    private Integer productShortId;
}
